/**
 * Tencent is pleased to support the open source community by making Polaris available.
 *
 * Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved.
 *
 * Licensed under the BSD 3-Clause License (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * https://opensource.org/licenses/BSD-3-Clause
 *
 * Unless required by applicable law or agreed to in writing, software distributed
 * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */

package utils

const (
	// PolarisCode polaris code
	PolarisCode = "X-Polaris-Code"
	// PolarisMessage polaris message
	PolarisMessage = "X-Polaris-Message"
	// PolarisRequestID request_id
	PolarisRequestID = "Request-Id"
)

var (
	LocalHost string = "127.0.0.1"
)

const (
	HeaderAuthTokenKey string = "X-Polaris-Token"
	HeaderIsOwnerKey   string = "X-Is-Owner"
	HeaderUserIDKey    string = "X-User-ID"
	HeaderOwnerIDKey   string = "X-Owner-ID"
	HeaderUserRoleKey  string = "X-Polaris-User-Role"

	ContextAuthTokenKey   StringContext = StringContext(HeaderAuthTokenKey)
	ContextIsOwnerKey     StringContext = StringContext(HeaderIsOwnerKey)
	ContextUserIDKey      StringContext = StringContext(HeaderUserIDKey)
	ContextOwnerIDKey     StringContext = StringContext(HeaderOwnerIDKey)
	ContextUserRoleIDKey  StringContext = StringContext(HeaderUserRoleKey)
	ContextAuthContextKey StringContext = StringContext("X-Polaris-AuthContext")
	ContextUserNameKey    StringContext = StringContext("X-User-Name")
	ContextClientAddress  StringContext = StringContext("client-address")

	ContextOpenAsyncRegis StringContext = StringContext("client-asyncRegis")
	ContextGrpcHeader     StringContext = StringContext("grpc-header")
)
